package com.zq.solution.algorithm.sort;

/**
 * @ClassName SortedSquares
 * @Description 有序数组的平方
 * 给定一个按非递减顺序排序的整数数组 A，返回每个数字的平方组成的新数组，要求也按非递减顺序排序。
 * 示例：
 *  输入：[-4,-1,0,3,10]
 *  输出：[0,1,9,16,100]
 * @Author ZQ
 * @Date 2020/10/16 14:02
 * @Version 1.0
 */
public class SortedSquares {
    public static int[] sortedSquares(int[] a) {
        for (int i = 0; i < a.length; i++){
            int min = i;
            for (int j = i + 1; j < a.length; j++){
                if (Math.abs(a[j]) < Math.abs(a[min])) min = j;
            }
            if (i != min){
                int t = a[i];
                a[i] = a[min] * a[min];
                a[min] = t;
            }else {
                a[i] = a[min] * a[min];
            }
        }
        return a;
    }

    public static void main(String[] args) {
        int[] arr = new int[]{-4,-1,0,3,10};
        for (int num : sortedSquares(arr)){
            System.out.print(num + " ");
        }
    }
}
